home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / cocktail / puma.lha / puma / m2c / Tree.h < prev    next >
C/C++ Source or Header  |  1992-09-25  |  39KB  |  1,290 lines

  1. #define DEFINITION_Tree
  2.  
  3. #ifndef DEFINITION_IO
  4. #include "IO.h"
  5. #endif
  6.  
  7. #ifndef DEFINITION_IO
  8. #include "IO.h"
  9. #endif
  10.  
  11. #ifndef DEFINITION_Strings
  12. #include "Strings.h"
  13. #endif
  14.  
  15. #ifndef DEFINITION_StringMem
  16. #include "StringMem.h"
  17. #endif
  18.  
  19. #ifndef DEFINITION_Idents
  20. #include "Idents.h"
  21. #endif
  22.  
  23. #ifndef DEFINITION_Texts
  24. #include "Texts.h"
  25. #endif
  26.  
  27. #ifndef DEFINITION_Sets
  28. #include "Sets.h"
  29. #endif
  30.  
  31. #ifndef DEFINITION_Relations
  32. #include "Relations.h"
  33. #endif
  34.  
  35. #ifndef DEFINITION_Positions
  36. #include "Positions.h"
  37. #endif
  38.  
  39. extern CARDINAL Tree_ErrorCount;
  40. #define Tree_Virtual    0
  41. #define Tree_Computed    1
  42. #define Tree_Reverse    2
  43. #define Tree_Write    3
  44. #define Tree_Read    4
  45. #define Tree_Inherited    5
  46. #define Tree_Synthesized    6
  47. #define Tree_Input    7
  48. #define Tree_Output    8
  49. #define Tree_Tree    9
  50. #define Tree_Parameter    10
  51. #define Tree_Stack    11
  52. #define Tree_Variable    12
  53. #define Tree_Demand    13
  54. #define Tree_Funct    14
  55. #define Tree_Ignore    15
  56. #define Tree_Thread    17
  57. #define Tree_Test    18
  58. #define Tree_Left    19
  59. #define Tree_Right    20
  60. #define Tree_CopyDef    21
  61. #define Tree_CopyUse    22
  62. #define Tree_NonBaseComp    23
  63. #define Tree_MultInhComp    24
  64. #define Tree_First    25
  65. #define Tree_Dummy    26
  66. #define Tree_Def    27
  67. #define Tree_Use    28
  68. #define Tree_ChildUse    29
  69. #define Tree_ParentUse    30
  70. #define Tree_Generated    31
  71. #define Tree_Top    0
  72. #define Tree_Intermediate    1
  73. #define Tree_Low    2
  74. #define Tree_Referenced    3
  75. #define Tree_Reachable    4
  76. #define Tree_Nonterminal    5
  77. #define Tree_Terminal    6
  78. #define Tree_Explicit    7
  79. #define Tree_Implicit    8
  80. #define Tree_Trace    9
  81. #define Tree_String    10
  82. #define Tree_HasSelector    11
  83. #define Tree_HasChildren    12
  84. #define Tree_HasAttributes    13
  85. #define Tree_HasActions    14
  86. #define Tree_Abstract    16
  87. #define Tree_Mark    17
  88. #define Tree_HasOutput    18
  89. #define Tree_NoTree    NIL
  90. #define Tree_Classes    1
  91. #define Tree_NoClass    2
  92. #define Tree_Class    3
  93. #define Tree_Attributes    4
  94. #define Tree_NoAttribute    5
  95. #define Tree_AttrOrAction    6
  96. #define Tree_Child    7
  97. #define Tree_Attribute    8
  98. #define Tree_ActionPart    9
  99. #define Tree_Codes    10
  100. #define Tree_Designators    11
  101. #define Tree_NoDesignator    12
  102. #define Tree_Designator    13
  103. #define Tree_Ident    14
  104. #define Tree_Remote    15
  105. #define Tree_Any    16
  106. #define Tree_Anys    17
  107. #define Tree_Layouts    18
  108. #define Tree_NoLayout    19
  109. #define Tree_LayoutAny    20
  110. #define Tree_Names    21
  111. #define Tree_NoName    22
  112. #define Tree_Name    23
  113. #define Tree_Spec    49
  114. #define Tree_TreeNames    50
  115. #define Tree_NoTreeName    51
  116. #define Tree_TreeName    52
  117. #define Tree_Routines    53
  118. #define Tree_NoRoutine    54
  119. #define Tree_Routine    55
  120. #define Tree_Procedure    56
  121. #define Tree_Function    57
  122. #define Tree_Predicate    58
  123. #define Tree_Parameters    59
  124. #define Tree_NoParameter    60
  125. #define Tree_Param    61
  126. #define Tree_Type    62
  127. #define Tree_Rules    63
  128. #define Tree_NoRule    64
  129. #define Tree_Rule    65
  130. #define Tree_Patterns    66
  131. #define Tree_NoPattern    67
  132. #define Tree_OnePattern    68
  133. #define Tree_PatternsList    69
  134. #define Tree_NoPatternsList    70
  135. #define Tree_OnePatternsList    71
  136. #define Tree_Pattern    72
  137. #define Tree_Decompose    73
  138. #define Tree_VarDef    74
  139. #define Tree_NilTest    75
  140. #define Tree_DontCare1    76
  141. #define Tree_DontCare    77
  142. #define Tree_Value    78
  143. #define Tree_Exprs    79
  144. #define Tree_NoExpr    80
  145. #define Tree_OneExpr    81
  146. #define Tree_NamedExpr    82
  147. #define Tree_Expr    83
  148. #define Tree_Compose    84
  149. #define Tree_VarUse    85
  150. #define Tree_AttrDesc    86
  151. #define Tree_Nil    87
  152. #define Tree_Call    88
  153. #define Tree_Binary    89
  154. #define Tree_PreOperator    90
  155. #define Tree_PostOperator    91
  156. #define Tree_Index    92
  157. #define Tree_Parents    93
  158. #define Tree_TargetExpr    94
  159. #define Tree_StringExpr    95
  160. #define Tree_Statements    96
  161. #define Tree_NoStatement    97
  162. #define Tree_Statement    98
  163. #define Tree_ProcCall    99
  164. #define Tree_Condition    100
  165. #define Tree_Assignment    101
  166. #define Tree_Reject    102
  167. #define Tree_Fail    103
  168. #define Tree_TargetStmt    104
  169. #define Tree_Nl    105
  170. #define Tree_WriteStr    106
  171. #define Tree_Formals    107
  172. #define Tree_NoFormal    108
  173. #define Tree_Formal    109
  174. #define Tree_DummyFormal    110
  175. #define Tree_TypeDesc    111
  176. #define Tree_NodeTypes    112
  177. #define Tree_UserType    113
  178. #define Tree_Path    114
  179. #define Tree_Var    115
  180. #define Tree_ConsType    116
  181. #define Tree_Field    117
  182. #define Tree_Tests    118
  183. #define Tree_NoTest    119
  184. #define Tree_OneTest    120
  185. #define Tree_TestKind    121
  186. #define Tree_TestIsType    122
  187. #define Tree_TestNil    123
  188. #define Tree_TestNonlin    124
  189. #define Tree_TestValue    125
  190. #define Tree_Decisions    126
  191. #define Tree_NoDecision    127
  192. #define Tree_Decision    128
  193. #define Tree_Decided    129
  194. typedef struct Tree_107 *Tree_tTree;
  195. typedef void (*Tree_tProcTree) ARGS((Tree_tTree));
  196. typedef SHORTCARD Tree_INTEGER0;
  197. typedef BITSET Tree_tAttrProperties;
  198. typedef BITSET Tree_tClassProperties;
  199. typedef Tree_tTree Tree_tClass;
  200. typedef void (*Tree_ProcOfT) ARGS((Tree_tTree));
  201. extern Sets_tSet Tree_Options;
  202. extern IO_tFile Tree_f;
  203. extern struct Tree_1 {
  204.     CHAR A[255 + 1];
  205. } Tree_SourceFile;
  206. extern BITSET Tree_NoCodeAttr, Tree_NoCodeClass;
  207. extern void Tree_InitIdentifyClass ARGS((Tree_tTree t));
  208. extern void Tree_InitIdentifyClass2 ARGS((Tree_tTree t));
  209. extern Tree_tTree Tree_IdentifyClass ARGS((Tree_tTree t, Idents_tIdent Ident));
  210. extern Tree_tTree Tree_IdentifyAttribute ARGS((Tree_tTree t, Idents_tIdent Ident));
  211. extern void Tree_ForallClasses ARGS((Tree_tTree t, Tree_ProcOfT Proc));
  212. extern void Tree_ForallAttributes ARGS((Tree_tTree t, Tree_ProcOfT Proc));
  213. extern void Tree_Error ARGS((INTEGER ErrorCode, Positions_tPosition Pos));
  214. extern void Tree_Warning ARGS((INTEGER ErrorCode, Positions_tPosition Pos));
  215. extern void Tree_Information ARGS((INTEGER ErrorCode, Positions_tPosition Pos));
  216. extern void Tree_ErrorI ARGS((INTEGER ErrorCode, Positions_tPosition Pos, INTEGER iClass, ADDRESS iPtr));
  217. extern void Tree_WarningI ARGS((INTEGER ErrorCode, Positions_tPosition Pos, INTEGER iClass, ADDRESS iPtr));
  218. extern void Tree_InformationI ARGS((INTEGER ErrorCode, Positions_tPosition Pos, INTEGER iClass, ADDRESS iPtr));
  219. extern void Tree_WI ARGS((Idents_tIdent i));
  220. extern void Tree_WE ARGS((Idents_tIdent i));
  221. extern void Tree_WN ARGS((INTEGER n));
  222. typedef struct Tree_2 {
  223.     SHORTCARD yyKind, yyMark;
  224. } Tree_yytNodeHead;
  225. typedef struct Tree_3 {
  226.     Tree_yytNodeHead yyHead;
  227. } Tree_yClasses;
  228. typedef struct Tree_4 {
  229.     Tree_yytNodeHead yyHead;
  230. } Tree_yNoClass;
  231. typedef struct Tree_5 {
  232.     Tree_yytNodeHead yyHead;
  233.     Idents_tIdent Name;
  234.     Tree_tClassProperties Properties;
  235.     Tree_tTree Attributes;
  236.     Tree_tTree Extensions;
  237.     Tree_tTree Next;
  238.     Tree_tTree BaseClass;
  239.     Tree_tTree Formals;
  240.     Tree_tTree TypeDesc;
  241.     SHORTCARD Index;
  242. } Tree_yClass;
  243. typedef struct Tree_6 {
  244.     Tree_yytNodeHead yyHead;
  245. } Tree_yAttributes;
  246. typedef struct Tree_7 {
  247.     Tree_yytNodeHead yyHead;
  248. } Tree_yNoAttribute;
  249. typedef struct Tree_8 {
  250.     Tree_yytNodeHead yyHead;
  251.     Tree_tTree Next;
  252. } Tree_yAttrOrAction;
  253. typedef struct Tree_9 {
  254.     Tree_yytNodeHead yyHead;
  255.     Tree_tTree Next;
  256.     Idents_tIdent Name;
  257.     Idents_tIdent Type;
  258.     Tree_tAttrProperties Properties;
  259. } Tree_yChild;
  260. typedef struct Tree_10 {
  261.     Tree_yytNodeHead yyHead;
  262.     Tree_tTree Next;
  263.     Idents_tIdent Name;
  264.     Idents_tIdent Type;
  265.     Tree_tAttrProperties Properties;
  266. } Tree_yAttribute;
  267. typedef struct Tree_11 {
  268.     Tree_yytNodeHead yyHead;
  269.     Tree_tTree Next;
  270. } Tree_yActionPart;
  271. typedef struct Tree_12 {
  272.     Tree_yytNodeHead yyHead;
  273.     Texts_tText Export;
  274.     Texts_tText Import;
  275.     Texts_tText Global;
  276.     Texts_tText Local;
  277.     Texts_tText Begin;
  278.     Texts_tText Close;
  279.     Positions_tPosition ExportLine;
  280.     Positions_tPosition ImportLine;
  281.     Positions_tPosition GlobalLine;
  282.     Positions_tPosition LocalLine;
  283.     Positions_tPosition BeginLine;
  284.     Positions_tPosition CloseLine;
  285. } Tree_yCodes;
  286. typedef struct Tree_13 {
  287.     Tree_yytNodeHead yyHead;
  288. } Tree_yDesignators;
  289. typedef struct Tree_14 {
  290.     Tree_yytNodeHead yyHead;
  291. } Tree_yNoDesignator;
  292. typedef struct Tree_15 {
  293.     Tree_yytNodeHead yyHead;
  294.     Idents_tIdent Selector;
  295.     Idents_tIdent Attribute;
  296.     Positions_tPosition Pos;
  297.     Tree_tTree Next;
  298.     Tree_tClass Object;
  299.     Idents_tIdent Type;
  300. } Tree_yDesignator;
  301. typedef struct Tree_16 {
  302.     Tree_yytNodeHead yyHead;
  303.     Idents_tIdent Attribute;
  304.     Positions_tPosition Pos;
  305.     Tree_tTree Next;
  306. } Tree_yIdent;
  307. typedef struct Tree_17 {
  308.     Tree_yytNodeHead yyHead;
  309.     Tree_tTree Designators;
  310.     Idents_tIdent Type;
  311.     Idents_tIdent Attribute;
  312.     Positions_tPosition Pos;
  313.     Tree_tTree Next;
  314. } Tree_yRemote;
  315. typedef struct Tree_18 {
  316.     Tree_yytNodeHead yyHead;
  317.     StringMem_tStringRef Code;
  318.     Tree_tTree Next;
  319. } Tree_yAny;
  320. typedef struct Tree_19 {
  321.     Tree_yytNodeHead yyHead;
  322.     Tree_tTree Layouts;
  323.     Tree_tTree Next;
  324. } Tree_yAnys;
  325. typedef struct Tree_20 {
  326.     Tree_yytNodeHead yyHead;
  327. } Tree_yLayouts;
  328. typedef struct Tree_21 {
  329.     Tree_yytNodeHead yyHead;
  330. } Tree_yNoLayout;
  331. typedef struct Tree_22 {
  332.     Tree_yytNodeHead yyHead;
  333.     StringMem_tStringRef Code;
  334.     Tree_tTree Next;
  335. } Tree_yLayoutAny;
  336. typedef struct Tree_23 {
  337.     Tree_yytNodeHead yyHead;
  338. } Tree_yNames;
  339. typedef struct Tree_24 {
  340.     Tree_yytNodeHead yyHead;
  341. } Tree_yNoName;
  342. typedef struct Tree_25 {
  343.     Tree_yytNodeHead yyHead;
  344.     Idents_tIdent Name;
  345.     Positions_tPosition Pos;
  346.     Tree_tTree Next;
  347.     Tree_tClass Object;
  348. } Tree_yName;
  349. typedef struct Tree_26 {
  350.     Tree_yytNodeHead yyHead;
  351.     Idents_tIdent TrafoName;
  352.     Tree_tTree TreeNames;
  353.     Tree_tTree Public;
  354.     Tree_tTree Extern;
  355.     Tree_tTree Codes;
  356.     Tree_tTree Routines;
  357. } Tree_ySpec;
  358. typedef struct Tree_27 {
  359.     Tree_yytNodeHead yyHead;
  360. } Tree_yTreeNames;
  361. typedef struct Tree_28 {
  362.     Tree_yytNodeHead yyHead;
  363. } Tree_yNoTreeName;
  364. typedef struct Tree_29 {
  365.     Tree_yytNodeHead yyHead;
  366.     Idents_tIdent Name;
  367.     Positions_tPosition Pos;
  368.     Tree_tTree Next;
  369.     Tree_tTree Classes;
  370.     SHORTCARD ClassCount;
  371. } Tree_yTreeName;
  372. typedef struct Tree_30 {
  373.     Tree_yytNodeHead yyHead;
  374. } Tree_yRoutines;
  375. typedef struct Tree_31 {
  376.     Tree_yytNodeHead yyHead;
  377. } Tree_yNoRoutine;
  378. typedef struct Tree_32 {
  379.     Tree_yytNodeHead yyHead;
  380.     Tree_tTree Next;
  381.     Idents_tIdent Name;
  382.     Positions_tPosition Pos;
  383.     Tree_tTree InParams;
  384.     Tree_tTree OutParams;
  385.     Tree_tTree Extern;
  386.     Texts_tText Local;
  387.     Positions_tPosition LocalLine;
  388.     Tree_tTree Rules;
  389.     Tree_tTree InForm;
  390.     Tree_tTree OutForm;
  391.     Tree_tTree ParamDecls;
  392.     BOOLEAN IsExtern;
  393.     Tree_tTree Decisions;
  394. } Tree_yRoutine;
  395. typedef struct Tree_33 {
  396.     Tree_yytNodeHead yyHead;
  397.     Tree_tTree Next;
  398.     Idents_tIdent Name;
  399.     Positions_tPosition Pos;
  400.     Tree_tTree InParams;
  401.     Tree_tTree OutParams;
  402.     Tree_tTree Extern;
  403.     Texts_tText Local;
  404.     Positions_tPosition LocalLine;
  405.     Tree_tTree Rules;
  406.     Tree_tTree InForm;
  407.     Tree_tTree OutForm;
  408.     Tree_tTree ParamDecls;
  409.     BOOLEAN IsExtern;
  410.     Tree_tTree Decisions;
  411. } Tree_yProcedure;
  412. typedef struct Tree_34 {
  413.     Tree_yytNodeHead yyHead;
  414.     Tree_tTree Next;
  415.     Idents_tIdent Name;
  416.     Positions_tPosition Pos;
  417.     Tree_tTree InParams;
  418.     Tree_tTree OutParams;
  419.     Tree_tTree Extern;
  420.     Texts_tText Local;
  421.     Positions_tPosition LocalLine;
  422.     Tree_tTree Rules;
  423.     Tree_tTree InForm;
  424.     Tree_tTree OutForm;
  425.     Tree_tTree ParamDecls;
  426.     BOOLEAN IsExtern;
  427.     Tree_tTree Decisions;
  428.     Tree_tTree ReturnParams;
  429.     Tree_tTree ReturnForm;
  430. } Tree_yFunction;
  431. typedef struct Tree_35 {
  432.     Tree_yytNodeHead yyHead;
  433.     Tree_tTree Next;
  434.     Idents_tIdent Name;
  435.     Positions_tPosition Pos;
  436.     Tree_tTree InParams;
  437.     Tree_tTree OutParams;
  438.     Tree_tTree Extern;
  439.     Texts_tText Local;
  440.     Positions_tPosition LocalLine;
  441.     Tree_tTree Rules;
  442.     Tree_tTree InForm;
  443.     Tree_tTree OutForm;
  444.     Tree_tTree ParamDecls;
  445.     BOOLEAN IsExtern;
  446.     Tree_tTree Decisions;
  447. } Tree_yPredicate;
  448. typedef struct Tree_36 {
  449.     Tree_yytNodeHead yyHead;
  450. } Tree_yParameters;
  451. typedef struct Tree_37 {
  452.     Tree_yytNodeHead yyHead;
  453. } Tree_yNoParameter;
  454. typedef struct Tree_38 {
  455.     Tree_yytNodeHead yyHead;
  456.     BOOLEAN IsRef;
  457.     Idents_tIdent Name;
  458.     Positions_tPosition Pos;
  459.     Tree_tTree Type;
  460.     Tree_tTree Next;
  461. } Tree_yParam;
  462. typedef struct Tree_39 {
  463.     Tree_yytNodeHead yyHead;
  464.     Idents_tIdent Name;
  465.     Positions_tPosition Pos;
  466.     Tree_tTree Names;
  467. } Tree_yType;
  468. typedef struct Tree_40 {
  469.     Tree_yytNodeHead yyHead;
  470. } Tree_yRules;
  471. typedef struct Tree_41 {
  472.     Tree_yytNodeHead yyHead;
  473. } Tree_yNoRule;
  474. typedef struct Tree_42 {
  475.     Tree_yytNodeHead yyHead;
  476.     Positions_tPosition Line;
  477.     Tree_tTree Patterns;
  478.     Tree_tTree Exprs;
  479.     Tree_tTree Expr;
  480.     Tree_tTree Statements;
  481.     Tree_tTree Next;
  482.     Tree_tTree VarDecls;
  483.     BOOLEAN HasTempos;
  484.     BOOLEAN HasPatterns;
  485.     Idents_tIdent Tempo;
  486.     SHORTCARD Index;
  487.     Tree_tTree Tests;
  488.     BOOLEAN HasExit;
  489.     BOOLEAN HasAssign;
  490.     BOOLEAN HasTargetCode;
  491.     BOOLEAN HasRejectOrFail;
  492. } Tree_yRule;
  493. typedef struct Tree_43 {
  494.     Tree_yytNodeHead yyHead;
  495. } Tree_yPatterns;
  496. typedef struct Tree_44 {
  497.     Tree_yytNodeHead yyHead;
  498.     Positions_tPosition Pos;
  499. } Tree_yNoPattern;
  500. typedef struct Tree_45 {
  501.     Tree_yytNodeHead yyHead;
  502.     Tree_tTree Pattern;
  503.     Tree_tTree Next;
  504. } Tree_yOnePattern;
  505. typedef struct Tree_46 {
  506.     Tree_yytNodeHead yyHead;
  507. } Tree_yPatternsList;
  508. typedef struct Tree_47 {
  509.     Tree_yytNodeHead yyHead;
  510. } Tree_yNoPatternsList;
  511. typedef struct Tree_48 {
  512.     Tree_yytNodeHead yyHead;
  513.     Tree_tTree Patterns;
  514.     Tree_tTree Next;
  515. } Tree_yOnePatternsList;
  516. typedef struct Tree_49 {
  517.     Tree_yytNodeHead yyHead;
  518.     Positions_tPosition Pos;
  519.     Idents_tIdent Tempo;
  520.     Tree_tTree TypeDesc;
  521.     Tree_tTree Path;
  522. } Tree_yPattern;
  523. typedef struct Tree_50 {
  524.     Tree_yytNodeHead yyHead;
  525.     Positions_tPosition Pos;
  526.     Idents_tIdent Tempo;
  527.     Tree_tTree TypeDesc;
  528.     Tree_tTree Path;
  529.     Idents_tIdent Selector;
  530.     Tree_tTree Expr;
  531.     Tree_tTree Patterns;
  532.     BOOLEAN Widen;
  533.     Tree_tClass Object;
  534. } Tree_yDecompose;
  535. typedef struct Tree_51 {
  536.     Tree_yytNodeHead yyHead;
  537.     Positions_tPosition Pos;
  538.     Idents_tIdent Tempo;
  539.     Tree_tTree TypeDesc;
  540.     Tree_tTree Path;
  541.     Idents_tIdent Name;
  542.     Tree_tClass Object;
  543. } Tree_yVarDef;
  544. typedef struct Tree_52 {
  545.     Tree_yytNodeHead yyHead;
  546.     Positions_tPosition Pos;
  547.     Idents_tIdent Tempo;
  548.     Tree_tTree TypeDesc;
  549.     Tree_tTree Path;
  550.     Idents_tIdent Selector;
  551. } Tree_yNilTest;
  552. typedef struct Tree_53 {
  553.     Tree_yytNodeHead yyHead;
  554.     Positions_tPosition Pos;
  555.     Idents_tIdent Tempo;
  556.     Tree_tTree TypeDesc;
  557.     Tree_tTree Path;
  558. } Tree_yDontCare1;
  559. typedef struct Tree_54 {
  560.     Tree_yytNodeHead yyHead;
  561.     Positions_tPosition Pos;
  562.     Idents_tIdent Tempo;
  563.     Tree_tTree TypeDesc;
  564.     Tree_tTree Path;
  565.     Tree_tTree Tempos;
  566. } Tree_yDontCare;
  567. typedef struct Tree_55 {
  568.     Tree_yytNodeHead yyHead;
  569.     Positions_tPosition Pos;
  570.     Idents_tIdent Tempo;
  571.     Tree_tTree TypeDesc;
  572.     Tree_tTree Path;
  573.     Tree_tTree Expr;
  574. } Tree_yValue;
  575. typedef struct Tree_56 {
  576.     Tree_yytNodeHead yyHead;
  577. } Tree_yExprs;
  578. typedef struct Tree_57 {
  579.     Tree_yytNodeHead yyHead;
  580.     Positions_tPosition Pos;
  581. } Tree_yNoExpr;
  582. typedef struct Tree_58 {
  583.     Tree_yytNodeHead yyHead;
  584.     Tree_tTree Expr;
  585.     Tree_tTree Next;
  586. } Tree_yOneExpr;
  587. typedef struct Tree_59 {
  588.     Tree_yytNodeHead yyHead;
  589.     Tree_tTree Expr;
  590.     Tree_tTree Next;
  591.     Idents_tIdent Name;
  592. } Tree_yNamedExpr;
  593. typedef struct Tree_60 {
  594.     Tree_yytNodeHead yyHead;
  595.     Positions_tPosition Pos;
  596. } Tree_yExpr;
  597. typedef struct Tree_61 {
  598.     Tree_yytNodeHead yyHead;
  599.     Positions_tPosition Pos;
  600.     Idents_tIdent Selector;
  601.     Tree_tTree Expr;
  602.     Tree_tTree Exprs;
  603.     BOOLEAN Widen;
  604.     Tree_tClass Object;
  605.     Idents_tIdent Tempo;
  606.     Tree_tTree TypeDesc;
  607. } Tree_yCompose;
  608. typedef struct Tree_62 {
  609.     Tree_yytNodeHead yyHead;
  610.     Positions_tPosition Pos;
  611.     Idents_tIdent Name;
  612.     Tree_tClass Object;
  613. } Tree_yVarUse;
  614. typedef struct Tree_63 {
  615.     Tree_yytNodeHead yyHead;
  616.     Positions_tPosition Pos;
  617.     Idents_tIdent Name;
  618.     Tree_tClass Object;
  619.     Idents_tIdent Attribute;
  620.     Idents_tIdent Type;
  621. } Tree_yAttrDesc;
  622. typedef struct Tree_64 {
  623.     Tree_yytNodeHead yyHead;
  624.     Positions_tPosition Pos;
  625.     Idents_tIdent Selector;
  626. } Tree_yNil;
  627. typedef struct Tree_65 {
  628.     Tree_yytNodeHead yyHead;
  629.     Positions_tPosition Pos;
  630.     Tree_tTree Expr;
  631.     Tree_tTree Exprs;
  632.     Tree_tTree Patterns;
  633.     Tree_tClass Object;
  634. } Tree_yCall;
  635. typedef struct Tree_66 {
  636.     Tree_yytNodeHead yyHead;
  637.     Positions_tPosition Pos;
  638.     Tree_tTree Lop;
  639.     Idents_tIdent Operator;
  640.     Tree_tTree Rop;
  641. } Tree_yBinary;
  642. typedef struct Tree_67 {
  643.     Tree_yytNodeHead yyHead;
  644.     Positions_tPosition Pos;
  645.     Idents_tIdent Operator;
  646.     Tree_tTree Expr;
  647. } Tree_yPreOperator;
  648. typedef struct Tree_68 {
  649.     Tree_yytNodeHead yyHead;
  650.     Positions_tPosition Pos;
  651.     Idents_tIdent Operator;
  652.     Tree_tTree Expr;
  653. } Tree_yPostOperator;
  654. typedef struct Tree_69 {
  655.     Tree_yytNodeHead yyHead;
  656.     Positions_tPosition Pos;
  657.     Tree_tTree Expr;
  658.     Tree_tTree Exprs;
  659. } Tree_yIndex;
  660. typedef struct Tree_70 {
  661.     Tree_yytNodeHead yyHead;
  662.     Positions_tPosition Pos;
  663.     Tree_tTree Expr;
  664. } Tree_yParents;
  665. typedef struct Tree_71 {
  666.     Tree_yytNodeHead yyHead;
  667.     Positions_tPosition Pos;
  668.     Tree_tTree Expr;
  669.     Sets_tSet UsedNames;
  670. } Tree_yTargetExpr;
  671. typedef struct Tree_72 {
  672.     Tree_yytNodeHead yyHead;
  673.     Positions_tPosition Pos;
  674.     StringMem_tStringRef String;
  675. } Tree_yStringExpr;
  676. typedef struct Tree_73 {
  677.     Tree_yytNodeHead yyHead;
  678. } Tree_yStatements;
  679. typedef struct Tree_74 {
  680.     Tree_yytNodeHead yyHead;
  681. } Tree_yNoStatement;
  682. typedef struct Tree_75 {
  683.     Tree_yytNodeHead yyHead;
  684.     Positions_tPosition Pos;
  685.     Tree_tTree Next;
  686. } Tree_yStatement;
  687. typedef struct Tree_76 {
  688.     Tree_yytNodeHead yyHead;
  689.     Positions_tPosition Pos;
  690.     Tree_tTree Next;
  691.     Tree_tTree Call;
  692. } Tree_yProcCall;
  693. typedef struct Tree_77 {
  694.     Tree_yytNodeHead yyHead;
  695.     Positions_tPosition Pos;
  696.     Tree_tTree Next;
  697.     Tree_tTree Expr;
  698. } Tree_yCondition;
  699. typedef struct Tree_78 {
  700.     Tree_yytNodeHead yyHead;
  701.     Positions_tPosition Pos;
  702.     Tree_tTree Next;
  703.     Tree_tTree Adr;
  704.     Tree_tTree Expr;
  705.     Tree_tClass Object;
  706. } Tree_yAssignment;
  707. typedef struct Tree_79 {
  708.     Tree_yytNodeHead yyHead;
  709.     Positions_tPosition Pos;
  710.     Tree_tTree Next;
  711. } Tree_yReject;
  712. typedef struct Tree_80 {
  713.     Tree_yytNodeHead yyHead;
  714.     Positions_tPosition Pos;
  715.     Tree_tTree Next;
  716. } Tree_yFail;
  717. typedef struct Tree_81 {
  718.     Tree_yytNodeHead yyHead;
  719.     Positions_tPosition Pos;
  720.     Tree_tTree Next;
  721.     Tree_tTree Parameters;
  722.     Tree_tTree Stmt;
  723.     Sets_tSet UsedNames;
  724. } Tree_yTargetStmt;
  725. typedef struct Tree_82 {
  726.     Tree_yytNodeHead yyHead;
  727.     Positions_tPosition Pos;
  728.     Tree_tTree Next;
  729. } Tree_yNl;
  730. typedef struct Tree_83 {
  731.     Tree_yytNodeHead yyHead;
  732.     Positions_tPosition Pos;
  733.     Tree_tTree Next;
  734.     StringMem_tStringRef String;
  735. } Tree_yWriteStr;
  736. typedef struct Tree_84 {
  737.     Tree_yytNodeHead yyHead;
  738. } Tree_yFormals;
  739. typedef struct Tree_85 {
  740.     Tree_yytNodeHead yyHead;
  741. } Tree_yNoFormal;
  742. typedef struct Tree_86 {
  743.     Tree_yytNodeHead yyHead;
  744.     Tree_tTree Next;
  745.     Idents_tIdent Name;
  746.     Tree_tTree TypeDesc;
  747.     Tree_tTree Path;
  748. } Tree_yFormal;
  749. typedef struct Tree_87 {
  750.     Tree_yytNodeHead yyHead;
  751.     Tree_tTree Next;
  752. } Tree_yDummyFormal;
  753. typedef struct Tree_88 {
  754.     Tree_yytNodeHead yyHead;
  755. } Tree_yTypeDesc;
  756. typedef struct Tree_89 {
  757.     Tree_yytNodeHead yyHead;
  758.     Tree_tTree TreeName;
  759.     Sets_tSet Types;
  760. } Tree_yNodeTypes;
  761. typedef struct Tree_90 {
  762.     Tree_yytNodeHead yyHead;
  763.     Idents_tIdent Type;
  764. } Tree_yUserType;
  765. typedef struct Tree_91 {
  766.     Tree_yytNodeHead yyHead;
  767. } Tree_yPath;
  768. typedef struct Tree_92 {
  769.     Tree_yytNodeHead yyHead;
  770.     Idents_tIdent Name;
  771.     BOOLEAN IsOutput;
  772.     BOOLEAN IsRegister;
  773. } Tree_yVar;
  774. typedef struct Tree_93 {
  775.     Tree_yytNodeHead yyHead;
  776.     Tree_tTree Next;
  777.     Idents_tIdent Name;
  778. } Tree_yConsType;
  779. typedef struct Tree_94 {
  780.     Tree_yytNodeHead yyHead;
  781.     Tree_tTree Next;
  782.     Idents_tIdent Name;
  783. } Tree_yField;
  784. typedef struct Tree_95 {
  785.     Tree_yytNodeHead yyHead;
  786. } Tree_yTests;
  787. typedef struct Tree_96 {
  788.     Tree_yytNodeHead yyHead;
  789. } Tree_yNoTest;
  790. typedef struct Tree_97 {
  791.     Tree_yytNodeHead yyHead;
  792.     Tree_tTree Next;
  793.     Tree_tTree Path;
  794. } Tree_yOneTest;
  795. typedef struct Tree_98 {
  796.     Tree_yytNodeHead yyHead;
  797.     Tree_tTree Next;
  798.     Tree_tTree Path;
  799.     Tree_tTree TypeDesc;
  800.     Idents_tIdent Name;
  801. } Tree_yTestKind;
  802. typedef struct Tree_99 {
  803.     Tree_yytNodeHead yyHead;
  804.     Tree_tTree Next;
  805.     Tree_tTree Path;
  806.     Tree_tTree TypeDesc;
  807.     Idents_tIdent Name;
  808. } Tree_yTestIsType;
  809. typedef struct Tree_100 {
  810.     Tree_yytNodeHead yyHead;
  811.     Tree_tTree Next;
  812.     Tree_tTree Path;
  813. } Tree_yTestNil;
  814. typedef struct Tree_101 {
  815.     Tree_yytNodeHead yyHead;
  816.     Tree_tTree Next;
  817.     Tree_tTree Path;
  818.     Tree_tTree Path2;
  819.     Tree_tTree TypeDesc;
  820. } Tree_yTestNonlin;
  821. typedef struct Tree_102 {
  822.     Tree_yytNodeHead yyHead;
  823.     Tree_tTree Next;
  824.     Tree_tTree Path;
  825.     Tree_tTree Expr;
  826.     Tree_tTree TypeDesc;
  827. } Tree_yTestValue;
  828. typedef struct Tree_103 {
  829.     Tree_yytNodeHead yyHead;
  830. } Tree_yDecisions;
  831. typedef struct Tree_104 {
  832.     Tree_yytNodeHead yyHead;
  833. } Tree_yNoDecision;
  834. typedef struct Tree_105 {
  835.     Tree_yytNodeHead yyHead;
  836.     Tree_tTree Then;
  837.     Tree_tTree Else;
  838.     Tree_tTree OneTest;
  839.     SHORTCARD Cases;
  840.     BOOLEAN IsUnchanged;
  841. } Tree_yDecision;
  842. typedef struct Tree_106 {
  843.     Tree_yytNodeHead yyHead;
  844.     Tree_tTree Else;
  845.     Tree_tTree Rule;
  846. } Tree_yDecided;
  847. typedef struct Tree_107 {
  848.     union {
  849.         struct {
  850.             SHORTCARD Kind;
  851.         } V_1;
  852.         struct {
  853.             Tree_yytNodeHead yyHead;
  854.         } V_2;
  855.         struct {
  856.             Tree_yClasses Classes;
  857.         } V_3;
  858.         struct {
  859.             Tree_yNoClass NoClass;
  860.         } V_4;
  861.         struct {
  862.             Tree_yClass Class;
  863.         } V_5;
  864.         struct {
  865.             Tree_yAttributes Attributes;
  866.         } V_6;
  867.         struct {
  868.             Tree_yNoAttribute NoAttribute;
  869.         } V_7;
  870.         struct {
  871.             Tree_yAttrOrAction AttrOrAction;
  872.         } V_8;
  873.         struct {
  874.             Tree_yChild Child;
  875.         } V_9;
  876.         struct {
  877.             Tree_yAttribute Attribute;
  878.         } V_10;
  879.         struct {
  880.             Tree_yActionPart ActionPart;
  881.         } V_11;
  882.         struct {
  883.             Tree_yCodes Codes;
  884.         } V_12;
  885.         struct {
  886.             Tree_yDesignators Designators;
  887.         } V_13;
  888.         struct {
  889.             Tree_yNoDesignator NoDesignator;
  890.         } V_14;
  891.         struct {
  892.             Tree_yDesignator Designator;
  893.         } V_15;
  894.         struct {
  895.             Tree_yIdent Ident;
  896.         } V_16;
  897.         struct {
  898.             Tree_yRemote Remote;
  899.         } V_17;
  900.         struct {
  901.             Tree_yAny Any;
  902.         } V_18;
  903.         struct {
  904.             Tree_yAnys Anys;
  905.         } V_19;
  906.         struct {
  907.             Tree_yLayouts Layouts;
  908.         } V_20;
  909.         struct {
  910.             Tree_yNoLayout NoLayout;
  911.         } V_21;
  912.         struct {
  913.             Tree_yLayoutAny LayoutAny;
  914.         } V_22;
  915.         struct {
  916.             Tree_yNames Names;
  917.         } V_23;
  918.         struct {
  919.             Tree_yNoName NoName;
  920.         } V_24;
  921.         struct {
  922.             Tree_yName Name;
  923.         } V_25;
  924.         struct {
  925.             Tree_ySpec Spec;
  926.         } V_26;
  927.         struct {
  928.             Tree_yTreeNames TreeNames;
  929.         } V_27;
  930.         struct {
  931.             Tree_yNoTreeName NoTreeName;
  932.         } V_28;
  933.         struct {
  934.             Tree_yTreeName TreeName;
  935.         } V_29;
  936.         struct {
  937.             Tree_yRoutines Routines;
  938.         } V_30;
  939.         struct {
  940.             Tree_yNoRoutine NoRoutine;
  941.         } V_31;
  942.         struct {
  943.             Tree_yRoutine Routine;
  944.         } V_32;
  945.         struct {
  946.             Tree_yProcedure Procedure;
  947.         } V_33;
  948.         struct {
  949.             Tree_yFunction Function;
  950.         } V_34;
  951.         struct {
  952.             Tree_yPredicate Predicate;
  953.         } V_35;
  954.         struct {
  955.             Tree_yParameters Parameters;
  956.         } V_36;
  957.         struct {
  958.             Tree_yNoParameter NoParameter;
  959.         } V_37;
  960.         struct {
  961.             Tree_yParam Param;
  962.         } V_38;
  963.         struct {
  964.             Tree_yType Type;
  965.         } V_39;
  966.         struct {
  967.             Tree_yRules Rules;
  968.         } V_40;
  969.         struct {
  970.             Tree_yNoRule NoRule;
  971.         } V_41;
  972.         struct {
  973.             Tree_yRule Rule;
  974.         } V_42;
  975.         struct {
  976.             Tree_yPatterns Patterns;
  977.         } V_43;
  978.         struct {
  979.             Tree_yNoPattern NoPattern;
  980.         } V_44;
  981.         struct {
  982.             Tree_yOnePattern OnePattern;
  983.         } V_45;
  984.         struct {
  985.             Tree_yPatternsList PatternsList;
  986.         } V_46;
  987.         struct {
  988.             Tree_yNoPatternsList NoPatternsList;
  989.         } V_47;
  990.         struct {
  991.             Tree_yOnePatternsList OnePatternsList;
  992.         } V_48;
  993.         struct {
  994.             Tree_yPattern Pattern;
  995.         } V_49;
  996.         struct {
  997.             Tree_yDecompose Decompose;
  998.         } V_50;
  999.         struct {
  1000.             Tree_yVarDef VarDef;
  1001.         } V_51;
  1002.         struct {
  1003.             Tree_yNilTest NilTest;
  1004.         } V_52;
  1005.         struct {
  1006.             Tree_yDontCare1 DontCare1;
  1007.         } V_53;
  1008.         struct {
  1009.             Tree_yDontCare DontCare;
  1010.         } V_54;
  1011.         struct {
  1012.             Tree_yValue Value;
  1013.         } V_55;
  1014.         struct {
  1015.             Tree_yExprs Exprs;
  1016.         } V_56;
  1017.         struct {
  1018.             Tree_yNoExpr NoExpr;
  1019.         } V_57;
  1020.         struct {
  1021.             Tree_yOneExpr OneExpr;
  1022.         } V_58;
  1023.         struct {
  1024.             Tree_yNamedExpr NamedExpr;
  1025.         } V_59;
  1026.         struct {
  1027.             Tree_yExpr Expr;
  1028.         } V_60;
  1029.         struct {
  1030.             Tree_yCompose Compose;
  1031.         } V_61;
  1032.         struct {
  1033.             Tree_yVarUse VarUse;
  1034.         } V_62;
  1035.         struct {
  1036.             Tree_yAttrDesc AttrDesc;
  1037.         } V_63;
  1038.         struct {
  1039.             Tree_yNil Nil;
  1040.         } V_64;
  1041.         struct {
  1042.             Tree_yCall Call;
  1043.         } V_65;
  1044.         struct {
  1045.             Tree_yBinary Binary;
  1046.         } V_66;
  1047.         struct {
  1048.             Tree_yPreOperator PreOperator;
  1049.         } V_67;
  1050.         struct {
  1051.             Tree_yPostOperator PostOperator;
  1052.         } V_68;
  1053.         struct {
  1054.             Tree_yIndex Index;
  1055.         } V_69;
  1056.         struct {
  1057.             Tree_yParents Parents;
  1058.         } V_70;
  1059.         struct {
  1060.             Tree_yTargetExpr TargetExpr;
  1061.         } V_71;
  1062.         struct {
  1063.             Tree_yStringExpr StringExpr;
  1064.         } V_72;
  1065.         struct {
  1066.             Tree_yStatements Statements;
  1067.         } V_73;
  1068.         struct {
  1069.             Tree_yNoStatement NoStatement;
  1070.         } V_74;
  1071.         struct {
  1072.             Tree_yStatement Statement;
  1073.         } V_75;
  1074.         struct {
  1075.             Tree_yProcCall ProcCall;
  1076.         } V_76;
  1077.         struct {
  1078.             Tree_yCondition Condition;
  1079.         } V_77;
  1080.         struct {
  1081.             Tree_yAssignment Assignment;
  1082.         } V_78;
  1083.         struct {
  1084.             Tree_yReject Reject;
  1085.         } V_79;
  1086.         struct {
  1087.             Tree_yFail Fail;
  1088.         } V_80;
  1089.         struct {
  1090.             Tree_yTargetStmt TargetStmt;
  1091.         } V_81;
  1092.         struct {
  1093.             Tree_yNl Nl;
  1094.         } V_82;
  1095.         struct {
  1096.             Tree_yWriteStr WriteStr;
  1097.         } V_83;
  1098.         struct {
  1099.             Tree_yFormals Formals;
  1100.         } V_84;
  1101.         struct {
  1102.             Tree_yNoFormal NoFormal;
  1103.         } V_85;
  1104.         struct {
  1105.             Tree_yFormal Formal;
  1106.         } V_86;
  1107.         struct {
  1108.             Tree_yDummyFormal DummyFormal;
  1109.         } V_87;
  1110.         struct {
  1111.             Tree_yTypeDesc TypeDesc;
  1112.         } V_88;
  1113.         struct {
  1114.             Tree_yNodeTypes NodeTypes;
  1115.         } V_89;
  1116.         struct {
  1117.             Tree_yUserType UserType;
  1118.         } V_90;
  1119.         struct {
  1120.             Tree_yPath Path;
  1121.         } V_91;
  1122.         struct {
  1123.             Tree_yVar Var;
  1124.         } V_92;
  1125.         struct {
  1126.             Tree_yConsType ConsType;
  1127.         } V_93;
  1128.         struct {
  1129.             Tree_yField Field;
  1130.         } V_94;
  1131.         struct {
  1132.             Tree_yTests Tests;
  1133.         } V_95;
  1134.         struct {
  1135.             Tree_yNoTest NoTest;
  1136.         } V_96;
  1137.         struct {
  1138.             Tree_yOneTest OneTest;
  1139.         } V_97;
  1140.         struct {
  1141.             Tree_yTestKind TestKind;
  1142.         } V_98;
  1143.         struct {
  1144.             Tree_yTestIsType TestIsType;
  1145.         } V_99;
  1146.         struct {
  1147.             Tree_yTestNil TestNil;
  1148.         } V_100;
  1149.         struct {
  1150.             Tree_yTestNonlin TestNonlin;
  1151.         } V_101;
  1152.         struct {
  1153.             Tree_yTestValue TestValue;
  1154.         } V_102;
  1155.         struct {
  1156.             Tree_yDecisions Decisions;
  1157.         } V_103;
  1158.         struct {
  1159.             Tree_yNoDecision NoDecision;
  1160.         } V_104;
  1161.         struct {
  1162.             Tree_yDecision Decision;
  1163.         } V_105;
  1164.         struct {
  1165.             Tree_yDecided Decided;
  1166.         } V_106;
  1167.     } U_1;
  1168. } Tree_yyNode;
  1169. extern Tree_tTree Tree_TreeRoot;
  1170. extern LONGCARD Tree_HeapUsed;
  1171. extern ADDRESS Tree_yyPoolFreePtr, Tree_yyPoolMaxPtr;
  1172. extern struct Tree_108 {
  1173.     SHORTCARD A[129 + 1];
  1174. } Tree_yyNodeSize;
  1175. extern PROC Tree_yyExit;
  1176. extern Tree_tTree Tree_yyAlloc ARGS(());
  1177. extern Tree_tTree Tree_MakeTree ARGS((SHORTCARD Kind));
  1178. extern BOOLEAN Tree_IsType ARGS((Tree_tTree Tree, SHORTCARD Kind));
  1179. extern Tree_tTree Tree_mClasses ARGS(());
  1180. extern Tree_tTree Tree_mNoClass ARGS(());
  1181. extern Tree_tTree Tree_mClass ARGS((Idents_tIdent pName, Tree_tClassProperties pProperties, Tree_tTree pAttributes, Tree_tTree pExtensions, Tree_tTree pNext));
  1182. extern Tree_tTree Tree_mAttributes ARGS(());
  1183. extern Tree_tTree Tree_mNoAttribute ARGS(());
  1184. extern Tree_tTree Tree_mAttrOrAction ARGS((Tree_tTree pNext));
  1185. extern Tree_tTree Tree_mChild ARGS((Tree_tTree pNext, Idents_tIdent pName, Idents_tIdent pType, Tree_tAttrProperties pProperties));
  1186. extern Tree_tTree Tree_mAttribute ARGS((Tree_tTree pNext, Idents_tIdent pName, Idents_tIdent pType, Tree_tAttrProperties pProperties));
  1187. extern Tree_tTree Tree_mActionPart ARGS((Tree_tTree pNext));
  1188. extern Tree_tTree Tree_mCodes ARGS((Texts_tText pExport, Texts_tText pImport, Texts_tText pGlobal, Texts_tText pLocal, Texts_tText pBegin, Texts_tText pClose, Positions_tPosition pExportLine, Positions_tPosition pImportLine, Positions_tPosition pGlobalLine, Positions_tPosition pLocalLine, Positions_tPosition pBeginLine, Positions_tPosition pCloseLine));
  1189. extern Tree_tTree Tree_mDesignators ARGS(());
  1190. extern Tree_tTree Tree_mNoDesignator ARGS(());
  1191. extern Tree_tTree Tree_mDesignator ARGS((Idents_tIdent pSelector, Idents_tIdent pAttribute, Positions_tPosition pPos, Tree_tTree pNext));
  1192. extern Tree_tTree Tree_mIdent ARGS((Idents_tIdent pAttribute, Positions_tPosition pPos, Tree_tTree pNext));
  1193. extern Tree_tTree Tree_mRemote ARGS((Tree_tTree pDesignators, Idents_tIdent pType, Idents_tIdent pAttribute, Positions_tPosition pPos, Tree_tTree pNext));
  1194. extern Tree_tTree Tree_mAny ARGS((StringMem_tStringRef pCode, Tree_tTree pNext));
  1195. extern Tree_tTree Tree_mAnys ARGS((Tree_tTree pLayouts, Tree_tTree pNext));
  1196. extern Tree_tTree Tree_mLayouts ARGS(());
  1197. extern Tree_tTree Tree_mNoLayout ARGS(());
  1198. extern Tree_tTree Tree_mLayoutAny ARGS((StringMem_tStringRef pCode, Tree_tTree pNext));
  1199. extern Tree_tTree Tree_mNames ARGS(());
  1200. extern Tree_tTree Tree_mNoName ARGS(());
  1201. extern Tree_tTree Tree_mName ARGS((Idents_tIdent pName, Positions_tPosition pPos, Tree_tTree pNext));
  1202. extern Tree_tTree Tree_mSpec ARGS((Idents_tIdent pTrafoName, Tree_tTree pTreeNames, Tree_tTree pPublic, Tree_tTree pExtern, Tree_tTree pCodes, Tree_tTree pRoutines));
  1203. extern Tree_tTree Tree_mTreeNames ARGS(());
  1204. extern Tree_tTree Tree_mNoTreeName ARGS(());
  1205. extern Tree_tTree Tree_mTreeName ARGS((Idents_tIdent pName, Positions_tPosition pPos, Tree_tTree pNext));
  1206. extern Tree_tTree Tree_mRoutines ARGS(());
  1207. extern Tree_tTree Tree_mNoRoutine ARGS(());
  1208. extern Tree_tTree Tree_mRoutine ARGS((Tree_tTree pNext, Idents_tIdent pName, Positions_tPosition pPos, Tree_tTree pInParams, Tree_tTree pOutParams, Tree_tTree pExtern, Texts_tText pLocal, Positions_tPosition pLocalLine, Tree_tTree pRules));
  1209. extern Tree_tTree Tree_mProcedure ARGS((Tree_tTree pNext, Idents_tIdent pName, Positions_tPosition pPos, Tree_tTree pInParams, Tree_tTree pOutParams, Tree_tTree pExtern, Texts_tText pLocal, Positions_tPosition pLocalLine, Tree_tTree pRules));
  1210. extern Tree_tTree Tree_mFunction ARGS((Tree_tTree pNext, Idents_tIdent pName, Positions_tPosition pPos, Tree_tTree pInParams, Tree_tTree pOutParams, Tree_tTree pExtern, Texts_tText pLocal, Positions_tPosition pLocalLine, Tree_tTree pRules, Tree_tTree pReturnParams));
  1211. extern Tree_tTree Tree_mPredicate ARGS((Tree_tTree pNext, Idents_tIdent pName, Positions_tPosition pPos, Tree_tTree pInParams, Tree_tTree pOutParams, Tree_tTree pExtern, Texts_tText pLocal, Positions_tPosition pLocalLine, Tree_tTree pRules));
  1212. extern Tree_tTree Tree_mParameters ARGS(());
  1213. extern Tree_tTree Tree_mNoParameter ARGS(());
  1214. extern Tree_tTree Tree_mParam ARGS((BOOLEAN pIsRef, Idents_tIdent pName, Positions_tPosition pPos, Tree_tTree pType, Tree_tTree pNext));
  1215. extern Tree_tTree Tree_mType ARGS((Idents_tIdent pName, Positions_tPosition pPos, Tree_tTree pNames));
  1216. extern Tree_tTree Tree_mRules ARGS(());
  1217. extern Tree_tTree Tree_mNoRule ARGS(());
  1218. extern Tree_tTree Tree_mRule ARGS((Positions_tPosition pLine, Tree_tTree pPatterns, Tree_tTree pExprs, Tree_tTree pExpr, Tree_tTree pStatements, Tree_tTree pNext));
  1219. extern Tree_tTree Tree_mPatterns ARGS(());
  1220. extern Tree_tTree Tree_mNoPattern ARGS((Positions_tPosition pPos));
  1221. extern Tree_tTree Tree_mOnePattern ARGS((Tree_tTree pPattern, Tree_tTree pNext));
  1222. extern Tree_tTree Tree_mPatternsList ARGS(());
  1223. extern Tree_tTree Tree_mNoPatternsList ARGS(());
  1224. extern Tree_tTree Tree_mOnePatternsList ARGS((Tree_tTree pPatterns, Tree_tTree pNext));
  1225. extern Tree_tTree Tree_mPattern ARGS((Positions_tPosition pPos));
  1226. extern Tree_tTree Tree_mDecompose ARGS((Positions_tPosition pPos, Idents_tIdent pSelector, Tree_tTree pExpr, Tree_tTree pPatterns, BOOLEAN pWiden));
  1227. extern Tree_tTree Tree_mVarDef ARGS((Positions_tPosition pPos, Idents_tIdent pName));
  1228. extern Tree_tTree Tree_mNilTest ARGS((Positions_tPosition pPos, Idents_tIdent pSelector));
  1229. extern Tree_tTree Tree_mDontCare1 ARGS((Positions_tPosition pPos));
  1230. extern Tree_tTree Tree_mDontCare ARGS((Positions_tPosition pPos));
  1231. extern Tree_tTree Tree_mValue ARGS((Positions_tPosition pPos, Tree_tTree pExpr));
  1232. extern Tree_tTree Tree_mExprs ARGS(());
  1233. extern Tree_tTree Tree_mNoExpr ARGS((Positions_tPosition pPos));
  1234. extern Tree_tTree Tree_mOneExpr ARGS((Tree_tTree pExpr, Tree_tTree pNext));
  1235. extern Tree_tTree Tree_mNamedExpr ARGS((Tree_tTree pExpr, Tree_tTree pNext, Idents_tIdent pName));
  1236. extern Tree_tTree Tree_mExpr ARGS((Positions_tPosition pPos));
  1237. extern Tree_tTree Tree_mCompose ARGS((Positions_tPosition pPos, Idents_tIdent pSelector, Tree_tTree pExpr, Tree_tTree pExprs, BOOLEAN pWiden));
  1238. extern Tree_tTree Tree_mVarUse ARGS((Positions_tPosition pPos, Idents_tIdent pName));
  1239. extern Tree_tTree Tree_mAttrDesc ARGS((Positions_tPosition pPos, Idents_tIdent pName, Idents_tIdent pAttribute));
  1240. extern Tree_tTree Tree_mNil ARGS((Positions_tPosition pPos, Idents_tIdent pSelector));
  1241. extern Tree_tTree Tree_mCall ARGS((Positions_tPosition pPos, Tree_tTree pExpr, Tree_tTree pExprs, Tree_tTree pPatterns));
  1242. extern Tree_tTree Tree_mBinary ARGS((Positions_tPosition pPos, Tree_tTree pLop, Idents_tIdent pOperator, Tree_tTree pRop));
  1243. extern Tree_tTree Tree_mPreOperator ARGS((Positions_tPosition pPos, Idents_tIdent pOperator, Tree_tTree pExpr));
  1244. extern Tree_tTree Tree_mPostOperator ARGS((Positions_tPosition pPos, Idents_tIdent pOperator, Tree_tTree pExpr));
  1245. extern Tree_tTree Tree_mIndex ARGS((Positions_tPosition pPos, Tree_tTree pExpr, Tree_tTree pExprs));
  1246. extern Tree_tTree Tree_mParents ARGS((Positions_tPosition pPos, Tree_tTree pExpr));
  1247. extern Tree_tTree Tree_mTargetExpr ARGS((Positions_tPosition pPos, Tree_tTree pExpr));
  1248. extern Tree_tTree Tree_mStringExpr ARGS((Positions_tPosition pPos, StringMem_tStringRef pString));
  1249. extern Tree_tTree Tree_mStatements ARGS(());
  1250. extern Tree_tTree Tree_mNoStatement ARGS(());
  1251. extern Tree_tTree Tree_mStatement ARGS((Positions_tPosition pPos, Tree_tTree pNext));
  1252. extern Tree_tTree Tree_mProcCall ARGS((Positions_tPosition pPos, Tree_tTree pNext, Tree_tTree pCall));
  1253. extern Tree_tTree Tree_mCondition ARGS((Positions_tPosition pPos, Tree_tTree pNext, Tree_tTree pExpr));
  1254. extern Tree_tTree Tree_mAssignment ARGS((Positions_tPosition pPos, Tree_tTree pNext, Tree_tTree pAdr, Tree_tTree pExpr));
  1255. extern Tree_tTree Tree_mReject ARGS((Positions_tPosition pPos, Tree_tTree pNext));
  1256. extern Tree_tTree Tree_mFail ARGS((Positions_tPosition pPos, Tree_tTree pNext));
  1257. extern Tree_tTree Tree_mTargetStmt ARGS((Positions_tPosition pPos, Tree_tTree pNext, Tree_tTree pParameters, Tree_tTree pStmt));
  1258. extern Tree_tTree Tree_mNl ARGS((Positions_tPosition pPos, Tree_tTree pNext));
  1259. extern Tree_tTree Tree_mWriteStr ARGS((Positions_tPosition pPos, Tree_tTree pNext, StringMem_tStringRef pString));
  1260. extern Tree_tTree Tree_mFormals ARGS(());
  1261. extern Tree_tTree Tree_mNoFormal ARGS(());
  1262. extern Tree_tTree Tree_mFormal ARGS((Tree_tTree pNext, Idents_tIdent pName, Tree_tTree pTypeDesc, Tree_tTree pPath));
  1263. extern Tree_tTree Tree_mDummyFormal ARGS((Tree_tTree pNext));
  1264. extern Tree_tTree Tree_mTypeDesc ARGS(());
  1265. extern Tree_tTree Tree_mNodeTypes ARGS((Tree_tTree pTreeName, Sets_tSet pTypes));
  1266. extern Tree_tTree Tree_mUserType ARGS((Idents_tIdent pType));
  1267. extern Tree_tTree Tree_mPath ARGS(());
  1268. extern Tree_tTree Tree_mVar ARGS((Idents_tIdent pName, BOOLEAN pIsOutput, BOOLEAN pIsRegister));
  1269. extern Tree_tTree Tree_mConsType ARGS((Tree_tTree pNext, Idents_tIdent pName));
  1270. extern Tree_tTree Tree_mField ARGS((Tree_tTree pNext, Idents_tIdent pName));
  1271. extern Tree_tTree Tree_mTests ARGS(());
  1272. extern Tree_tTree Tree_mNoTest ARGS(());
  1273. extern Tree_tTree Tree_mOneTest ARGS((Tree_tTree pNext, Tree_tTree pPath));
  1274. extern Tree_tTree Tree_mTestKind ARGS((Tree_tTree pNext, Tree_tTree pPath, Tree_tTree pTypeDesc, Idents_tIdent pName));
  1275. extern Tree_tTree Tree_mTestIsType ARGS((Tree_tTree pNext, Tree_tTree pPath, Tree_tTree pTypeDesc, Idents_tIdent pName));
  1276. extern Tree_tTree Tree_mTestNil ARGS((Tree_tTree pNext, Tree_tTree pPath));
  1277. extern Tree_tTree Tree_mTestNonlin ARGS((Tree_tTree pNext, Tree_tTree pPath, Tree_tTree pPath2, Tree_tTree pTypeDesc));
  1278. extern Tree_tTree Tree_mTestValue ARGS((Tree_tTree pNext, Tree_tTree pPath, Tree_tTree pExpr, Tree_tTree pTypeDesc));
  1279. extern Tree_tTree Tree_mDecisions ARGS(());
  1280. extern Tree_tTree Tree_mNoDecision ARGS(());
  1281. extern Tree_tTree Tree_mDecision ARGS((Tree_tTree pThen, Tree_tTree pElse, Tree_tTree pOneTest, SHORTCARD pCases, BOOLEAN pIsUnchanged));
  1282. extern Tree_tTree Tree_mDecided ARGS((Tree_tTree pElse, Tree_tTree pRule));
  1283. extern void Tree_WriteTreeNode ARGS((IO_tFile f, Tree_tTree Tree));
  1284. extern Tree_tTree Tree_ReverseTree ARGS((Tree_tTree Tree));
  1285. extern Tree_tTree Tree_CopyTree ARGS((Tree_tTree Tree));
  1286. extern void Tree_QueryTree ARGS((Tree_tTree Tree));
  1287. extern void Tree_BeginTree ARGS(());
  1288. extern void Tree_CloseTree ARGS(());
  1289. extern void BEGIN_Tree();
  1290.